package cll;
import static cll.Parameters.*;


// pour l'instant les cellules qui sont sur le point de sortir (position hors bornes) sont bloquées à l'interieur 
public class PositionSpeed {
	
	public PositionSpeed(double xx, double yy,double zz){
	x=xx;y=yy;z=zz;vx=0;vy=0;vz=0;
}
	public PositionSpeed(double xx, double yy,double zz, double vxx, double vyy,double vzz){
		x=xx;y=yy;z=zz;vx=vxx;vy=vyy;vz=vzz;
	}
	
	double x;
	double y;
	double z;
	
	double vx;
	double vy;
	double vz;
	
	public void updatePos() {
		x=Math.max(1,Math.min(tailleGC-1,x+vx*dt));
		y=Math.max(1,Math.min(tailleGC-1,y+vy*dt));
		z+=vz*dt;	
	}
	
	public void changeSpeed(double newDirection, double valeur) {
		vx = valeur*Math.cos(newDirection);
		vy = valeur*Math.sin(newDirection);
		
	}
	public PositionSpeed copy() {
		return new PositionSpeed(x, y, z);
	}
	
	public String toString(){
		return (int)x+" "+(int)y+" "+(int)vx+" "+(int)vy;
	}
	public static double distance(Cell c1, Cell c2) {
		 return Math.sqrt(Math.pow((c1.positionspeed.x-c2.positionspeed.x),2)+
				Math.pow((c1.positionspeed.y-c2.positionspeed.y),2));
	}
	
	
	
}
